@echo off
echo 手动构建游戏服务器项目...

REM 检查Java是否安装
java -version >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
    echo Java未安装或未正确配置！
    echo 请安装Java 11或更高版本，并确保它已添加到PATH环境变量中。
    pause
    exit /b 1
)

REM 创建输出目录
echo 创建输出目录...
if not exist build mkdir build
if not exist build\classes mkdir build\classes

REM 编译Java源代码
echo 编译Java源代码...
javac -d build\classes -cp "lib\*" src\main\java\com\lin\gameserver\util\*.java
if %ERRORLEVEL% NEQ 0 (
    echo 编译失败！请检查Java源代码或依赖项。
    pause
    exit /b 1
)

javac -d build\classes -cp "lib\*;build\classes" src\main\java\com\lin\gameserver\websocket\*.java
if %ERRORLEVEL% NEQ 0 (
    echo 编译失败！请检查Java源代码或依赖项。
    pause
    exit /b 1
)

javac -d build\classes -cp "lib\*;build\classes" src\main\java\com\lin\gameserver\protobuf\*.java
if %ERRORLEVEL% NEQ 0 (
    echo 编译失败！请检查Java源代码或依赖项。
    pause
    exit /b 1
)

javac -d build\classes -cp "lib\*;build\classes" src\main\java\com\lin\gameserver\session\*.java
if %ERRORLEVEL% NEQ 0 (
    echo 编译失败！请检查Java源代码或依赖项。
    pause
    exit /b 1
)

javac -d build\classes -cp "lib\*;build\classes" src\main\java\com\lin\gameserver\handler\*.java
if %ERRORLEVEL% NEQ 0 (
    echo 编译失败！请检查Java源代码或依赖项。
    pause
    exit /b 1
)

javac -d build\classes -cp "lib\*;build\classes" src\main\java\com\lin\gameserver\*.java
if %ERRORLEVEL% NEQ 0 (
    echo 编译失败！请检查Java源代码或依赖项。
    pause
    exit /b 1
)

REM 复制资源文件
echo 复制资源文件...
if not exist build\classes\src\main\resources mkdir build\classes\src\main\resources
xcopy /Y src\main\resources\* build\classes\src\main\resources\

REM 创建JAR文件
echo 创建JAR文件...
jar -cvf build\gameserver.jar -C build\classes .

echo 构建完成！
echo 您可以使用以下命令运行服务器：
echo java -cp "build\gameserver.jar;lib\*" com.lin.gameserver.GameServerApplication
pause 